package com.foreknow.demo14;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 *   // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
 *     static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
 *     static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
 *
 *     // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
 *     //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
 *     //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

       select * from user where username = 'tom' and password='123'  静态SQL
       select * from user where username = ? and password= ?  动态SQL
 */
public class JDBCDemo {
    public static void main(String[] args) {
        try {
            //1. 加载驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            //2. 获取连接Connection
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo_pro","root","123456");
            //3. 获取Statement对象用于执行静态的SQL语句
            Statement statement = conn.createStatement();
            //4. 可以调用Statement接口中的方法来完成添加、修改、删除、查询操作
            //ResultSet executeQuery(String sql) 执行给定的 SQL 语句，该语句返回单个 ResultSet 对象。
            //int executeUpdate(String sql) 执行给定 SQL 语句，该语句可能为 INSERT、UPDATE 或 DELETE 语句，或者不返回任何内容的 SQL 语句（如 SQL DDL 语句）。
            //            ResultSet rs = statement.executeQuery("SELECT * FROM users");
            //            List<Users> list = new ArrayList<>();
            //            while (rs.next()) { //将指针向下移动
            //                Users users = new Users();
            ////                rs.getInt("user_id"); //获取到当前行的第几列的值，参数要与表中的列名相同
            ////                rs.getString("name");
            ////                rs.getString("email");
            //               //将当前行数据保存到对象中
            //                users.setUserId(rs.getInt("user_id"));
            //                users.setName(rs.getString("name"));
            //                users.setEmail(rs.getString("email"));
            //                //将当前对象保存到集合中
            //                list.add(users);
            //            }
            //增 删 改操作
            int isRight = statement.executeUpdate("delete from users where user_id=3");
            System.out.println(isRight);
            //释放资源
            //            rs.close();
            statement.close();
            conn.close();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
